package modelo;
import bean.Conexion;

import java.awt.Image;
import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


public class ClienteDAO  extends ConexionDao{
	
	private static final ArrayList<Venta> Cliente = null;


	public ClienteDAO() {
		super();	
	
	}	
	

	/*String id_clien, String nombre_clien, String telefono_clien,
	String correo_clien, String status_clien */

	public void registrarCliente(Cliente cliente) {
		String tiraSQL = "INSERT INTO cliente "+
		 				 "(id_clien, nombre_clien, telefono_clien, correo_clien,status_clien) "+
		 				 "VALUES ('"+cliente.getId_clien()+"', '"+cliente.getNombre_clien()+
		 				 "','" +cliente.getTelefono_clien()+
		 				 "','"+ cliente.getCorreo_clien()+"','"+ cliente.getStatus_clien() + "')";
		Conexion.ejecutar(tiraSQL);
	}
	
	
	public ArrayList<Cliente> consultarClientes() {
		ArrayList<Cliente> clientes = new ArrayList<Cliente>();
		String tiraSQL = "SELECT * FROM cliente";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				
				String id = resultSet.getString("id_clien");
				String nombre = resultSet.getString("nombre_clien");
				String tlf = resultSet.getString("telefono_clien");
				String correo = resultSet.getString("correo_clien");
				String status = resultSet.getString("status_clien");
				
				Cliente cliente = new Cliente(id, nombre, tlf, correo, status);
				clientes.add(cliente);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return clientes;
	}
	
	public Cliente consultarClientsPorID(String ids) {
		
		Cliente cliente = null;
		
		String tiraSQL = "SELECT * FROM cliente where id_clien ='"+ ids + "'";
		ResultSet resultSet = Conexion.consultar(tiraSQL);	
		
		try {
			while (resultSet.next()) {
				
				String id = resultSet.getString("id_clien");
				String nombre = resultSet.getString("nombre_clien");
				String tlf = resultSet.getString("telefono_clien");
				String correo = resultSet.getString("correo_clien");
				String status = resultSet.getString("status_clien");
				
				cliente = new Cliente(id, nombre, tlf, correo, status);
				
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return cliente;			
}

	
	// Modificar
	public void modificarCliente(Cliente cliente) {
		
		String tiraSQL = "UPDATE cliente SET id_clien = '" + cliente.getId_clien() + "', nombre_clien = '"+ cliente.getNombre_clien()+		 
				"', telefono_clien = '" + cliente.getTelefono_clien() + "', correo_clien = '" + cliente.getCorreo_clien() +
				"', status_clien = '" + cliente.getStatus_clien() + " WHERE id_clien ='" + cliente.getId_clien() + "'";
				
		Conexion.ejecutar(tiraSQL);
	}
	
	
	// Eliminacion Fisica
		public void eliminarFisicaCliente(String id) {
			String tiraSQL =  "DELETE FROM cliente WHERE id_clien = '"+ id + "'";
									
			Conexion.ejecutar(tiraSQL);
		}

		

		// Eliminacion Logica
		public void eliminarLogicaCliente(Cliente cliente) {
			//Estatus cuando se elimina es "inactivo"?
			
			String tiraSQL = "UPDATE cliente SET id_clien = '" + cliente.getId_clien() + "', nombre_clien = '"+ cliente.getNombre_clien()+		 
					"', telefono_clien = '" + cliente.getTelefono_clien() + "', correo_clien = '" + cliente.getCorreo_clien() +
					"', status_clien = '" + cliente.getStatus_clien() + " WHERE id_prove ='" + cliente.getId_clien() + "'";
					
			Conexion.ejecutar(tiraSQL);
		}

		
		
		
}
